<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="https://www.w3.org/1999/xhtml" lang="zh-CN" xml:lang="zh-CN">
<head><meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
    <title>6.2. 挂载虚拟内核文件系统</title>
    <link rel="stylesheet" href="../stylesheets/lfs.css" type="text/css" />
    <link rel="stylesheet" href="../stylesheets/lfs-print.css" type="text/css" media="print" />
<script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?d286c55b63a3c54a1e43d10d4c203e75"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script>
</head>
  <body id="lfs" class="6.2">
    <div class="navheader">
      <div class="headertitles">
        <h4>Linux From Scratch - 版本 6.2</h4>
        <h3>第六章 安装系统基础软件</h3>
      </div>
      <ul class="headerlinks">
        <li class="prev">
          <a accesskey="p" href="chapter06.html" title="安装系统基础软件">后退</a>
          <p>安装系统基础软件</p>
        </li>
        <li class="next">
          <a accesskey="n" href="pkgmgt.html" title="包管理">前进</a>
          <p>包管理</p>
        </li>
        <li class="up"><a accesskey="u" href="chapter06.html" title="第六章 安装系统基础软件">上一级</a></li>
        <li class="home"><a accesskey="h" href="../index.html" title="Linux From Scratch - 版本 6.2">首页</a></li>
      </ul>
    </div>
    <div class="sect1">
      <div class="titlepage">
        <h1 class="sect1">6.2. 挂载虚拟内核文件系统</h1>
      </div>
      <p>虚拟内核文件系统(Virtual Kernel File Systems)，是指那些是由内核产生但并不存在于硬盘上(存
      在于内存中)的文件系统，他们被用来与内核进行通信。</p>
      <p>首先让我们为虚拟内核文件系统建立挂载目录：</p>
      <pre class="userinput"><kbd class="command">mkdir -pv $LFS/{dev,proc,sys}</kbd></pre>
      <div class="sect2">
        <div class="titlepage">
          <h2 class="sect2">6.2.1. 创建初始设备节点</h2>
        </div>
        <p>内核在引导时要求某些设备节点必须存在(特别是 console 和 null )，这些设备节点必须创建在硬盘
        上才能使得内核在 udev 尚未启动之前就可以使用它们，此外还有当Linux以<em class="parameter"><tt>init=/bin/bash</tt></em>
        启动。使用下面的命令来创建这些节点：</p>
        <pre class="userinput"><kbd class="command">mknod -m 600 $LFS/dev/console c 5 1
mknod -m 666 $LFS/dev/null c 1 3</kbd></pre>
      </div>
      <div class="sect2">
        <div class="titlepage">
          <a id="ch-system-bindmount" name="ch-system-bindmount"></a>
          <h2 class="sect2">6.2.2.挂载并填充 /dev 目录</h2>
        </div>
        <p>推荐的向 /dev 目录填充设备的方法是在 /dev 上挂载一个虚拟文件系统(比如 tmpfs)，然后在设备
        被检测到或被访问到的时候(通常是在系统引导的过程中)动态创建设备节点。既然现在新的系统尚未被引导，
        那么就有必要通过手工挂载和填充 /dev 目录。这可以通过绑定挂载宿主系统的 /dev 目录。绑定挂载是一种
        特殊的挂载方式，允许你创建一个目录或者是挂载点的镜像到其他的地方。可以使用下面的命令：</p>
        <pre class="userinput"><kbd class="command">mount --bind /dev $LFS/dev</kbd></pre>
      </div>
      <div class="sect2">
        <div class="titlepage">
          <a id="ch-system-kernfsmount" name="ch-system-kernfsmount"></a>
          <h2 class="sect2">6.2.3. 挂载虚拟内核文件系统</h2>
        </div>
        <p>现在挂载虚拟内核文件系统：</p>
        <pre class="userinput"><kbd class="command">mount -vt devpts devpts $LFS/dev/pts
mount -vt tmpfs shm $LFS/dev/shm
mount -vt proc proc $LFS/proc
mount -vt sysfs sysfs $LFS/sys</kbd></pre>
      </div>
    </div>
    <div class="navfooter">
      <ul>
        <li class="prev">
          <a accesskey="p" href="chapter06.html" title="安装系统基础软件">后退</a>
          <p>安装系统基础软件</p>
        </li>
        <li class="next">
          <a accesskey="n" href="pkgmgt.html" title="包管理">前进</a>
          <p>包管理</p>
        </li>
        <li class="up"><a accesskey="u" href="chapter06.html" title="第六章 安装系统基础软件">上一级</a></li>
        <li class="home"><a accesskey="h" href="../index.html" title="Linux From Scratch - 版本 6.2">首页</a>.
        </li>
      </ul>
    </div>
</body></html>
